package org.ruoyi.aibox.domain.vo;

import java.util.Date;
import com.fasterxml.jackson.annotation.JsonFormat;
import org.ruoyi.aibox.domain.DocAuditResult;
import com.alibaba.excel.annotation.ExcelIgnoreUnannotated;
import com.alibaba.excel.annotation.ExcelProperty;
import org.ruoyi.common.excel.annotation.ExcelDictFormat;
import org.ruoyi.common.excel.convert.ExcelDictConvert;
import io.github.linpeilie.annotations.AutoMapper;
import lombok.Data;

import java.io.Serial;
import java.io.Serializable;
import java.util.Date;



/**
 * 文档审核结果视图对象 doc_audit_result
 *
 * @author xpeter
 * @date 2025-04-29
 */
@Data
@ExcelIgnoreUnannotated
@AutoMapper(target = DocAuditResult.class)
public class DocAuditResultVo implements Serializable {

    @Serial
    private static final long serialVersionUID = 1L;

    /**
     * 结果ID
     */
    @ExcelProperty(value = "结果ID")
    private Long resultId;

    /**
     * 任务ID
     */
    @ExcelProperty(value = "任务ID")
    private Long taskId;

    /**
     * 文档ID
     */
    @ExcelProperty(value = "文档ID")
    private String docId;

    /**
     * 文档名称
     */
    @ExcelProperty(value = "文档名称")
    private String docName;

    /**
     * 文档类型
     */
    @ExcelProperty(value = "文档类型")
    private String docType;

    /**
     * 审核对象名称
     */
    @ExcelProperty(value = "审核对象名称")
    private String auditObjectName;

    /**
     * 使用模型名
     */
    @ExcelProperty(value = "使用模型名")
    private String modelName;

    /**
     * 审核状态
     */
    @ExcelProperty(value = "审核状态", converter = ExcelDictConvert.class)
    @ExcelDictFormat(dictType = "audit_task_status")
    private String auditStatus;

    /**
     * 审核项总数
     */
    @ExcelProperty(value = "审核项总数")
    private Long totalItems;

    /**
     * 审核通过数
     */
    @ExcelProperty(value = "审核通过数")
    private Long auditPassItems;

    /**
     * 已审核数
     */
    @ExcelProperty(value = "已审核数")
    private Long auditedItems;

    /**
     * 审核评分
     */
    @ExcelProperty(value = "审核评分")
    private Long auditScore;

    /**
     * AI审核结论
     */
    @ExcelProperty(value = "AI审核结论", converter = ExcelDictConvert.class)
    @ExcelDictFormat(dictType = "audit_result")
    private String auditAiConclusion;

    /**
     * 审核时间
     */
    @ExcelProperty(value = "审核时间")
    private Long auditTime;

    /**
     * 备注
     */
    @ExcelProperty(value = "备注")
    private String remark;


}
